今天花了不少時間看文件,還是沒辦法讓 Vertex AI 以 CD 的方式部屬出去,所以今天只能記錄我看的文件及思路。
先來整理目前的情況,我能夠照著 Quickstart: Develop and deploy agents on Vertex AI Agent Engine 文件建立 Vertex AI Agent Engine 。原始碼之類的相依文件會序列化後上傳到 Cloud Storage Buckets 上,但是程式碼會很醜,需要把整個 Agent 寫在同個檔案內。如果用 Package 的方式引入 Agent 在本地運行沒問題,但放上 Buckets 就會失敗。
不確定是不是範例程式碼不完整,所以請 Gemini 幫我產一個有 CD 功能且能部屬到 Vertex AI 上的範例程式。很可惜的是不能運行,但他給了一個透過 Cloud Build 來完成 CD 功能的作法。
首先建立以下結構的 GitHub 專案:
your-repo-root/
├── cloudbuild.yaml
├── deploy_agent.py
└── my_agent_code/ # This is a Python package
├── __init__.py # Makes 'my_agent_code' a package
└── agent_definition.py # Your actual agent definition
然後新增 Cloud Build Trigger 連結到這個 Repository ,接下來只要 git push
就會依照 cloudbuild.yaml
部屬 Vertex AI Agent Engine 。而 cloudbuild.yaml
的內容就是安裝需要的 Python 套件後執行 deploy_agent.py
來完成部屬。
因此猜測關鍵在於部屬使用的函數 agent_engines.create
:
以及初始化設定的 staging_bucket
:
接下來要找找這個函數的文件,測試 staging_bucket
是否可以完整的將 Agent 上傳,或是使用其他參數來設定。